<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <script>
    // 函数参数
    // 1. 传递基本数据类型：string,number,boolean,null,undefined ,symbol,bigint
          // 传递个函数后，函数内部会创建一个参数的副本，在函数内部操作的是这个副本，与外部变量没有关系
    // 2. 传递复杂数据类型/引用类型/对象类型
    // 传递的是值的引用，操作的都是同一个对象


    var count = 1;
    function foo(num){
      num++
      return num
    }

    var count2 = foo(count)
    console.log("count====>",count); // 1
    console.log("count2====>",count2); // 2

    var obj = {
      name:'zs',
      age:18
    }


    function bar(params){
      params.age ++
      return params
    }


    var obj2 = bar(obj)
    console.log("obj.age==>",obj.age); // 19
    console.log("obj2.age==>",obj2.age); // 19
  </script>
</body>
</html>